<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>MiXiM: TimeMapping&lt; Interpolator &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">MiXiM
   &#160;<span id="projectnumber">2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('a00212.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">TimeMapping&lt; Interpolator &gt; Class Template Reference<div class="ingroups"><a class="el" href="a00519.html">mapping - classes representing mathematical mappings</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="TimeMapping" --><!-- doxytag: inherits="Mapping" -->
<p>Implements the Mapping-interface with an <a class="el" href="a00110.html" title="Represents a std::map which is able to interpolate.">InterpolateableMap</a> from simtime_t to double between which values can be interpolated to represent a <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a> with only time as domain.  
 <a href="a00212.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00300_source.html">MappingUtils.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for TimeMapping&lt; Interpolator &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="a01042.png" border="0" usemap="#TimeMapping_3_01Interpolator_01_4_inherit__map" alt="Inheritance graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for TimeMapping&lt; Interpolator &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="a01043.png" border="0" usemap="#TimeMapping_3_01Interpolator_01_4_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a01044.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ca434daf1dece372ccc7421b5305720"></a><!-- doxytag: member="TimeMapping::TimeMapping" ref="a3ca434daf1dece372ccc7421b5305720" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a3ca434daf1dece372ccc7421b5305720">TimeMapping</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a> with the passed Interpolation method. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58ac95842db382d15e77ead809bddc1e"></a><!-- doxytag: member="TimeMapping::TimeMapping" ref="a58ac95842db382d15e77ead809bddc1e" args="(const TimeMapping&lt; Interpolator &gt; &amp;o)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>TimeMapping</b> (const <a class="el" href="a00212.html">TimeMapping</a>&lt; Interpolator &gt; &amp;o)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fbcd02d2c6525dc0d89354a146e4efb"></a><!-- doxytag: member="TimeMapping::TimeMapping" ref="a1fbcd02d2c6525dc0d89354a146e4efb" args="(mapped_cref_type outOfRangeVal)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a1fbcd02d2c6525dc0d89354a146e4efb">TimeMapping</a> (mapped_cref_type outOfRangeVal)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a> with the passed Interpolation method. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d9bde06fb3d637992eb3e60135d96c0"></a><!-- doxytag: member="TimeMapping::clone" ref="a3d9bde06fb3d637992eb3e60135d96c0" args="() const " -->
virtual <a class="el" href="a00136.html">Mapping</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a3d9bde06fb3d637992eb3e60135d96c0">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a deep copy of this mapping instance. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual argument_value_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a4f46930630d6c6a79b34211992840731">getValue</a> (const <a class="el" href="a00013.html">Argument</a> &amp;pos) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of this Function at the position specified by the passed <a class="el" href="a00013.html" title="Defines an argument for a mapping.">Argument</a>.  <a href="#a4f46930630d6c6a79b34211992840731"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a453ce64062fa7afd7398735a9cf499a6">setValue</a> (const <a class="el" href="a00013.html">Argument</a> &amp;pos, argument_value_cref_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the value of the function at the specified position.  <a href="#a453ce64062fa7afd7398735a9cf499a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00137.html">MappingIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a99f25f5769ab59fd41080fedfa0dbaa5">createIterator</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer of a new Iterator which is able to iterate over the function and can change the value the iterator points to.  <a href="#a99f25f5769ab59fd41080fedfa0dbaa5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00137.html">MappingIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a46c922604b76bf239263820a34a6ff29">createIterator</a> (const <a class="el" href="a00013.html">Argument</a> &amp;pos)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer of a new Iterator which is able to iterate over the function and can change the value the iterator points to.  <a href="#a46c922604b76bf239263820a34a6ff29"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a234c05b54a7bb7366b6f40598c925aeb"></a><!-- doxytag: member="TimeMapping::interpolator_map_type" ref="a234c05b54a7bb7366b6f40598c925aeb" args="" -->
typedef <a class="el" href="a00110.html">InterpolateableMap</a><br class="typebreak"/>
&lt; Interpolator&lt; std::map<br class="typebreak"/>
&lt; simtime_t, argument_value_t &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#a234c05b54a7bb7366b6f40598c925aeb">interpolator_map_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The templated <a class="el" href="a00110.html" title="Represents a std::map which is able to interpolate.">InterpolateableMap</a> the underlying <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a> uses std::map as storage type. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d3dc8083e25509e01ffeac67792fea3"></a><!-- doxytag: member="TimeMapping::interpolator_type" ref="a3d3dc8083e25509e01ffeac67792fea3" args="" -->
typedef <br class="typebreak"/>
interpolator_map_type::interpolator_type&#160;</td><td class="memItemRight" valign="bottom"><b>interpolator_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade5767a86bf9854bc2c277aec02a1bcd"></a><!-- doxytag: member="TimeMapping::mapped_type" ref="ade5767a86bf9854bc2c277aec02a1bcd" args="" -->
typedef <br class="typebreak"/>
interpolator_map_type::mapped_type&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3d8288de00e1653af77476e3940f54e"></a><!-- doxytag: member="TimeMapping::mapped_cref_type" ref="ad3d8288de00e1653af77476e3940f54e" args="" -->
typedef <br class="typebreak"/>
interpolator_map_type::mapped_cref_type&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_cref_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75b569ea7018b0f3e08a65a84d7ee97d"></a><!-- doxytag: member="TimeMapping::iterator" ref="a75b569ea7018b0f3e08a65a84d7ee97d" args="" -->
typedef <br class="typebreak"/>
<a class="el" href="a00109.html">interpolator_map_type::iterator_intpl</a>&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8af9735fbd58320b894d961f690c4fd"></a><!-- doxytag: member="TimeMapping::const_iterator" ref="af8af9735fbd58320b894d961f690c4fd" args="" -->
typedef <br class="typebreak"/>
<a class="el" href="a00057.html">interpolator_map_type::const_iterator_intpl</a>&#160;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb0dbcc9aec3a052d85ef7e015a89148"></a><!-- doxytag: member="TimeMapping::entries" ref="adb0dbcc9aec3a052d85ef7e015a89148" args="" -->
<a class="el" href="a00212.html#a234c05b54a7bb7366b6f40598c925aeb">interpolator_map_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00212.html#adb0dbcc9aec3a052d85ef7e015a89148">entries</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the key-entries defining the function. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;template&lt; typename &gt; class Interpolator&gt;<br/>
class TimeMapping&lt; Interpolator &gt;</h3>

<p>Implements the Mapping-interface with an <a class="el" href="a00110.html" title="Represents a std::map which is able to interpolate.">InterpolateableMap</a> from simtime_t to double between which values can be interpolated to represent a <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a> with only time as domain. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Karl Wessel </dd></dl>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a99f25f5769ab59fd41080fedfa0dbaa5"></a><!-- doxytag: member="TimeMapping::createIterator" ref="a99f25f5769ab59fd41080fedfa0dbaa5" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00137.html">MappingIterator</a>* <a class="el" href="a00212.html">TimeMapping</a>&lt; Interpolator &gt;::createIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pointer of a new Iterator which is able to iterate over the function and can change the value the iterator points to. </p>
<p>Note: The caller of this method has to delete the returned Iterator pointer if it isn't used anymore. </p>

<p>Implements <a class="el" href="a00136.html#ab78335a7a119893d1e04495f7f587ca3">Mapping</a>.</p>

<p>Referenced by <a class="el" href="a00222.html#a3a27ac6615499a86832230bfaafabb7a">UWBIRIEEE802154APathlossModel::filterSignal()</a>.</p>
<div class="fragment"><pre class="fragment">                                            {
    <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="a00213.html" title="Provides an implementation of the MappingIterator- Interface which is able to iterate over TimeMappin...">TimeMappingIterator&lt;Interpolator&gt;</a>(<a class="code" href="a00212.html#adb0dbcc9aec3a052d85ef7e015a89148" title="Stores the key-entries defining the function.">entries</a>.beginIntpl());
  }
</pre></div>
</div>
</div>
<a class="anchor" id="a46c922604b76bf239263820a34a6ff29"></a><!-- doxytag: member="TimeMapping::createIterator" ref="a46c922604b76bf239263820a34a6ff29" args="(const Argument &amp;pos)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00137.html">MappingIterator</a>* <a class="el" href="a00212.html">TimeMapping</a>&lt; Interpolator &gt;::createIterator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00013.html">Argument</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pointer of a new Iterator which is able to iterate over the function and can change the value the iterator points to. </p>
<p>Note: The caller of this method has to delete the returned Iterator pointer if it isn't used anymore. </p>

<p>Implements <a class="el" href="a00136.html#a8723ba0f78d2f259f1f150c9db346cb2">Mapping</a>.</p>
<div class="fragment"><pre class="fragment">                                                               {
    <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="a00213.html" title="Provides an implementation of the MappingIterator- Interface which is able to iterate over TimeMappin...">TimeMappingIterator&lt;Interpolator&gt;</a>(<a class="code" href="a00212.html#adb0dbcc9aec3a052d85ef7e015a89148" title="Stores the key-entries defining the function.">entries</a>.findIntpl(pos.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>()));
  }
</pre></div>
</div>
</div>
<a class="anchor" id="a4f46930630d6c6a79b34211992840731"></a><!-- doxytag: member="TimeMapping::getValue" ref="a4f46930630d6c6a79b34211992840731" args="(const Argument &amp;pos) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual argument_value_t <a class="el" href="a00212.html">TimeMapping</a>&lt; Interpolator &gt;::getValue </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00013.html">Argument</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of this Function at the position specified by the passed <a class="el" href="a00013.html" title="Defines an argument for a mapping.">Argument</a>. </p>
<p>This method has logarithmic complexity. </p>

<p>Implements <a class="el" href="a00058.html#afabbd15bb8f50e45901f99633d0a47c9">ConstMapping</a>.</p>
<div class="fragment"><pre class="fragment">                                                               {
    <span class="keywordflow">return</span> *<a class="code" href="a00212.html#adb0dbcc9aec3a052d85ef7e015a89148" title="Stores the key-entries defining the function.">entries</a>.getIntplValue(pos.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>());
  }
</pre></div>
</div>
</div>
<a class="anchor" id="a453ce64062fa7afd7398735a9cf499a6"></a><!-- doxytag: member="TimeMapping::setValue" ref="a453ce64062fa7afd7398735a9cf499a6" args="(const Argument &amp;pos, argument_value_cref_t value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00212.html">TimeMapping</a>&lt; Interpolator &gt;::setValue </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00013.html">Argument</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">argument_value_cref_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the value of the function at the specified position. </p>
<p>This method has logarithmic complexity. </p>

<p>Referenced by <a class="el" href="a00172.html#a90557ea84420483d5e2cc39cc2cce017">PERModel::filterSignal()</a>, <a class="el" href="a00103.html#a8280f0e0f92d28db257f9d3cfeb8ced3">IntensityModel::filterSignal()</a>, <a class="el" href="a00039.html#a6e8f40d451a398c981c5039da397b4db">BreakpointPathlossModel::filterSignal()</a>, and <a class="el" href="a00226.html#a9fda7231500ecd807a4fd8295b9907cb">UWBIRStochasticPathlossModel::filterSignal()</a>.</p>
<div class="fragment"><pre class="fragment">                                                                          {
    <a class="code" href="a00212.html#adb0dbcc9aec3a052d85ef7e015a89148" title="Stores the key-entries defining the function.">entries</a>[pos.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>()] = value;
  }
</pre></div>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>D:/Projects/MiXiM/extsrc/mixim/src/base/phyLayer/<a class="el" href="a00300_source.html">MappingUtils.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a00212.html">TimeMapping</a>      </li>

    <li class="footer">Generated on Tue Mar 5 2013 21:26:33 for MiXiM by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
